﻿using System;
using System.Collections.Generic;

namespace eBay {
    #region RequestEnums
    public enum ExcludeFlagCodeType : int {
        NotSet = -1,
        AutoPay = 0
    }
    public enum ItemConditionCodeType : int {
        NotSet = -1,
        New = 0,
        Used = 1
    }
    public enum SortOrderCodeType : int {
        NotSet = -1,
        Ascending = 0,
        Descending = 1
    }
    public enum SimpleItemSortCodeType : int {
        NotSet = -1,
        BestMatch = 0,
        BestMatchCategoryGroup = 1,
        BestMatchPlusEndTime = 2,
        BestMatchPlusPrice = 3,
        BidCount = 4,
        Country = 5,
        CurrentBid = 6,
        Distance = 7,
        EndTime = 8,
        StartDate = 9,
        PricePlusShipping = 10
    }
    public enum ItemLocationRegionCodeType : int {
        NotSet = -1,
        Canada = 0,
        CanadaFrench = 1,
        Europe = 2,
        NorthAmerica = 3,
        UKIreland = 4,
        Worldwide = 5
    }
    public enum PreferredLocationCodeType : int {
        NotSet = -1,
        AvailableInCountryImplied = 0,
        BelgiumListing = 1,
        ListedInCurrencyImplied = 2,
        LocatedInCountryImplied = 3,
        SiteImplied = 4
    }
    public enum ItemTypeCodeType : int {
        NotSet = -1,
        AdFormat = 0,
        AllFixedPriceItemTypes = 1,
        AllItems = 2,
        AllItemTypes = 3,
        AuctionItemsOnly = 4,
        ClassifiedItemsOnly = 5,
        ExcludeStoreInventory = 6,
        FixedPricedItem = 7,
        FixedPriceExcludeStoreInventory = 8,
        StoreInventoryOnly = 9,
    }
    public enum PaymentMethodSearchCodeType : int {
        NotSet = -1,
        PaisaPay = 0,
        PaisaPayEscrowEMI = 1,
        PayPal = 2,
        PayPalOrPaisaPay = 3
    }
    public enum ProductIDCodeType : int {
        NotSet = -1,
        EAN = 0,
        ISBN = 1,
        UPC = 2
    }
    public enum QuantityOperatorCodeType : int {
        NotSet = -1,
        Equal = 0,
        GreaterThan = 1,
        GreaterThanOrEqual = 2,
        LessThan = 3,
        LessThanOrEqual = 4,
    }
    public enum SearchFlagCodeType : int {
        NotSet = -1,
        AutoPay = 0,
        BestOffer = 1,
        Charity = 2,
        Featured = 3,
        FreeShipping = 4,
        Gallery = 5,
        GermanMotorsSearchable = 6,
        GetItFast = 7,
        Gift = 8,
        LocalSearch = 9,
        Lot = 10,
        NowAndNew = 11,
        Picture = 12,
        SuperFeatured = 13,
        WorldOfGood = 14
    }
    public enum SellerBusinessCodeType : int {
        NotSet = -1,
        Commercial = 0,
        Private = 1,
        Undefined = 2
    }
    public enum StoreSearchCodeType : int {
        NotSet = -1,
        AllItemsInTheStore = 0,
        AuctionItemsInTheStore = 1,
        BuyItNowItemsInAllStores = 2,
        BuyItNowItemsInTheStore = 3
    }
    #endregion RequestEnums
    #region ResponseEnums
    public enum ListingStatusCodeType : int {
        NotSet = -1,
        Active = 0,
        Completed = 1,
        Ended = 2
    }
    public enum ListingTypeCodeType : int {
        NotSet = -1,
        AdType = 0,
        Auction = 1,
        Chinese = 2,
        Dutch = 3,
        Express = 4,
        FixedPriceItem = 5,
        Half = 6,
        LeadGeneration = 7,
        Live = 8,
        PersonalOffer = 9,
        StoresFixedPrice = 10,
        Unknown = 11
    }
    public enum BuyerPaymentMethodCodeType : int {
        NotSet = -1,
        AmEx = 0,
        CashInPerson = 1,
        CashOnPickup = 2,
        CCAccepted = 3,
        COD = 4,
        Discover = 5,
        ELV = 6,
        LoanCheck = 7,
        MOCC = 8,
        Moneybookers = 9,
        MoneyXferAccepted = 10,
        MoneyXferAcceptedInCheckout = 11,
        None = 12,
        Other = 13,
        OtherOnlinePayments = 14,
        PaisaPayAccepted = 15,
        PaisaPayEscrowEMI = 16,
        Paymate = 17,
        PaymentSeeDescription = 18,
        PayPal = 19,
        PersonalCheck = 20,
        PostalTransfer = 21,
        PrePayDelivery = 22,
        ProPay = 23,
        VisaMC = 24
    }
    public enum FeedbackRatingStarCodeType : int {
        NotSet = -1,
        Blue = 0,
        Green = 1,
        GreenShooting = 2,
        Purple = 3,
        PurpleShooting = 4,
        Red = 5,
        RedShooting = 6,
        SilverShooting = 7,
        Turquoise = 8,
        TurquoiseShooting = 9,
        Yellow = 10,
        YellowShooting = 11,
        None = 12
    }
    public enum ShippingTypeCodeType : int {
        NotSet = -1,
        Calculated = 0,
        CalculatedDomesticFlatInternational = 1,
        Flat = 2,
        FlatDomesticCalculatedInternational = 3,
        Free = 4,
        Freight = 5,
        NotSpecified = 6
    }
    #endregion ResponseEnums
    public enum APITypes : int {
        NotSet = -1,
        ShoppingAPI = 0,
        FindingAPI = 1
    }
    public enum ResponseStatus : int {
        Success = 0,
        Warning = 1,
        Error = 2,
        ServerError
    }

    public enum eBaySites : int {
        EBAY_US = 0,
        EBAY_ENCA = 2,
        EBAY_GB = 3,
        EBAY_AU = 15,
        EBAY_AT = 16,
        EBAY_FRBE = 23,
        EBAY_FR = 71,
        EBAY_DE = 77,
        EBAY_MOTOR = 100,
        EBAY_IT = 101,
        EBAY_NLBE = 123,
        EBAY_NL = 146,
        EBAY_ES = 186,
        EBAY_CH = 193,
        EBAY_HK = 201,
        EBAY_IN = 203,
        EBAY_IE = 205,
        EBAY_MY = 207,
        EBAY_FRCA = 210,
        EBAY_PH = 211,
        EBAY_PL = 212,
        EBAY_SG = 216,
        EBAY_SE = 218
    }
}
